<html>
<head>
<meta http-equiv="Content-Type" content="text/html" />
<title>Simd Library Release Notes (2013)</title>
</head>
<body> <center><table width=1024><tr><td>
<a id="HOME"><a>
<center>
<img width="200" height="100" src="logo.png">
<h1>Simd Library Release Notes (2013).</h1>
<a href="index.html">Home</a> |
<a href="2020.html">Release Notes</a> | 
<a href="download.html">Download</a> |  
<a href="help/index.html">Documentation</a> |  
<a href="http://github.com/ermig1979/Simd/issues">Issues</a> |  
<a href="http://github.com/ermig1979/Simd" target="_top">GitHub</a> 
</center>
<hr/> 
</td></tr><tr><td>

<center>
 <a href="2020.html">2020</a> |
 <a href="2019.html">2019</a> |
 <a href="2018.html">2018</a> |
 <a href="2017.html">2017</a> |
 <a href="2016.html">2016</a> | 
 <a href="2015.html">2015</a> |
 <a href="2014.html">2014</a> |
 <a href="2013.html">2013</a>
</center>

<hr/> 
<h3 id="R012">December 2, 2013 (version 1.1.12.171)</h3>

<h4>Algorithms</h4>
<h5>New features</h5>
<ul>
 <li>Base implementation, SSE2 and AVX2 optimization of function Bgr48pToBgra32.</li>
 <li>Function IntegralSum.</li>
 <li>Base implementation, SSE2 and AVX2 optimization of function SobelDx.</li>
 <li>Base implementation, SSE2 and AVX2 optimization of function SobelDy.</li>
</ul>
<h5>Changes</h5>
<ul>
 <li>Using references instead of pointers in SimdUtils.</li>
</ul>
<h5>Removing</h5>
<ul>
 <li>Removed all functions from SimdAlg.h.</li>
 <li>Stopped using of types uchar, ushort and uint.</li>
 <li>Removed functions InterleaveBgra and YuvToBgra.</li>
</ul>
<h5>Bug fixing</h5>
<ul>
 <li>Wrong assert condition in function ConditionalSquareGradientSum.</li>
 <li>Wrong checking of reference for NULL in function TextureGetDifferenceSum.</li>
 <li>Wrong argument checking in function CopyFrame.</li>
 <li>Wrong checking of AVX2 support for GCC.</li>
</ul>

<h4>Test framework</h4>
<h5>New features</h5>
<ul>
 <li>Tests for verifying functionality of function Bgr48pToBgra32.</li>
 <li>New function performance test report.</li>
 <li>Tests for verifying functionality of function SobelDx.</li>
 <li>Tests for verifying functionality of function SobelDy.</li>
</ul>

<h4>Infrastructure</h4>
<h5>New features</h5>
<ul>
 <li>Added SimdBase, SimdSse2, SimdSse42, SimdAvx2 and Simd projects for Visual Studio 2012 (instead of SimdDll and SimdLib projects).</li>
 <li>Added SimdBase, SimdSse2, SimdSse42, SimdAvx2 and Simd projects for Code::Blocks (instead of SimdDll and SimdLib projects).</li>
</ul>
<h5>Removing</h5>
<ul>
 <li>Removed x64 platform for Code::Blocks.</li>
</ul>

<a href="#HOME">Home</a> 
<hr/> 
<h3 id="R011">November 1, 2013 (version 1.0.11.152)</h3>

<h4>Algorithms</h4>
<h5>New features</h5>
<ul>
 <li>Histogram function.</li>
 <li>FillFrame function.</li>
 <li>Base implementation, SSE2 and AVX2 optimization of function GrayToBgra.</li>
 <li>Base implementation, SSE2 and AVX2 optimization of function AlphaBlending.</li>
 <li>Base implementation, SSE2 and AVX2 optimization of function VectorProduct.</li>
 <li>Base implementation, SSE2 and AVX2 optimization of function MedianFilterRhomb3x3.</li>
 <li>Base implementation, SSE2 and AVX2 optimization of function MedianFilterRhomb5x5.</li>
 <li>Base implementation, SSE2 and AVX2 optimization of function AbsDifferenceSums3x3.</li>
 <li>Extend functionality of functions Binarization and AveragingBinarization.</li>
 <li>Base implementation, SSE2 and AVX2 optimization of function ConditionalCount.</li>
 <li>Base implementation, SSE2 and AVX2 optimization of function ConditionalSum.</li>
 <li>Base implementation, SSE2 and AVX2 optimization of function ConditionalSquareSum.</li>
 <li>Base implementation, SSE2 and AVX2 optimization of function ConditionalSquareGradientSum.</li>
 </ul>
<h5>Bug fixing</h5>
<ul>
 <li>Wrong assert condition in function AbsSecondDerivativeHistogram.</li>
 <li>Wrong arguments for functions GreaterOrEqualThenU8 and LesserOrEqualThenU8.</li>
 <li>Wrong memory alignment in function Yuv420ToBgra.</li>
 <li>Compile error at function Round (GCC, x64 platform, when defined macro SIMD_SSE2_DEPRECATE).</li>
 <li>Linker error: double definition of DllMain if Simd Library was linked statically into another DLL.</li>
 <li>Crash at functions LoadBeforeFirst and LoadAfterLast for CPU without AVX support.</li>
 <li>Compile error at GCC (64-bit Linux) : long long is not equal to int64_t.</li>
</ul>

<h4>Test framework</h4>
<h5>New features</h5>
<ul>
 <li>Tests for verifying functionality of function GrayToBgra.</li>
 <li>Tests for verifying functionality of function AlphaBlending.</li>
 <li>Tests for verifying functionality of function VectorProduct.</li>
 <li>Tests for verifying functionality of function MedianFilterRhomb3x3.</li>
 <li>Tests for verifying functionality of function MedianFilterRhomb5x5.</li>
 <li>Tests for verifying functionality of function AbsDifferenceSums3x3.</li>
 <li>Tests for verifying functionality of function ConditionalCount.</li>
 <li>Tests for verifying functionality of function ConditionalSum.</li>
 <li>Tests for verifying functionality of function ConditionalSquareSum.</li>
 <li>Tests for verifying functionality of function ConditionalSquareGradientSum.</li>
</ul>

<h4>Infrastructure</h4>
<h5>New features</h5>
<ul>
 <li>Supporting for static and dynamic linking interface for Simd Library.</li>
 <li>Added SimdLib and SimdDll project files for Visual Studio 2012 (instead of Simd project).</li>
 <li>Added SimdLib and SimdDll project files for Code::Blocks (instead of Simd project).</li>
 <li>Project file filters Base, Sse2, Sse42, Avx2 and Lib instead of Alg.</li>
</ul>

<a href="#HOME">Home</a> 
<hr/> 
<h3 id="R010">October 1, 2013 (version 0.0.10.119)</h3>

<h4>Algorithms</h4>
<h5>New features</h5>
<ul>
 <li>Round function.</li>
 <li>Base implementation, SSE2 and AVX2 optimization of function GetAbsDyRowSums.</li>
 <li>Base implementation, SSE2 and AVX2 optimization of function GetAbsDxColSums.</li>
 <li>Point structure.</li>
 <li>Rectangle structure.</li>
 <li>Base implementation, SSE2 and AVX2 optimization of function LbpEstimate.</li>
 <li>Function CopyFrame.</li>
 <li>Function Fill.</li>
 <li>Base implementation, SSE2 and AVX2 optimization of function FillBgra.</li>
</ul>
<h5>Changes</h5>
<ul>
 <li>Replace all View's functions to SimdUtils.</li>
 <li>Refactoring of View.</li>
</ul>
<h5>Bug fixing</h5>
<ul>
 <li>Wrong initialization of float point constants.</li>
</ul>

<h4>Test framework</h4>
<h5>New features</h5>
<ul>
 <li>Tests for verifying functionality of function GetAbsDyRowSums.</li>
 <li>Tests for verifying functionality of function GetAbsDxColSums.</li>
 <li>Additional tests for all functions.</li>
 <li>Tests for verifying functionality of function LbpEstimate.</li>
 <li>Tests for verifying functionality of function FillBgra.</li>
</ul>

<a href="#HOME">Home</a> 
<hr/> 
<h3 id="R009">September 2, 2013 (version 0.0.9.105)</h3>

<h4>Algorithms</h4>
<h5>New features</h5>
<ul>
 <li>Base implementation, SSE2 and AVX2 optimization of function AddFeatureDifference.</li>
 <li>Base implementation, SSE2 and AVX2 optimization of function TextureBoostedSaturatedGradient.</li>
 <li>Base implementation, SSE2 and AVX2 optimization of function TextureBoostedUv.</li>
 <li>Base implementation, SSE2 and AVX2 optimization of function TextureGetDifferenceSum.</li>
 <li>Base implementation, SSE2 and AVX2 optimization of function TexturePerformCompensation.</li>
 <li>Base implementation, SSE2 and AVX2 optimization of function GetMoments.</li>
 <li>Base implementation, SSE2 and AVX2 optimization of function AveragingBinarization.</li>
 <li>Base implementation, SSE2 and AVX2 optimization of function Operation(SaturatedSubtraction).</li>
 <li>Base implementation, SSE2 and AVX2 optimization of function GetRowSums.</li>
 <li>Base implementation, SSE2 and AVX2 optimization of function GetColSums.</li>
</ul>
<h5>Bug fixing</h5>
<ul>
 <li>Wrong memory alignment for destination image in function ReduceGray3x3 for AVX2 optimization.</li>
 <li>Wrong memory alignment in function Binarization for SSE2 and AVX2 optimizations.</li>
</ul>

<h4>Test framework</h4>
<h5>New features</h5>
<ul>
 <li>Tests for verifying functionality of function AddFeatureDifference.</li>
 <li>Tests for verifying functionality of function TextureBoostedSaturatedGradient.</li>
 <li>Tests for verifying functionality of function TextureBoostedUv.</li>
 <li>Tests for verifying functionality of function TextureGetDifferenceSum.</li>
 <li>Tests for verifying functionality of function TexturePerformCompensation.</li>
 <li>Tests for verifying functionality of function GetMoments.</li>
 <li>Tests for verifying functionality of function AveragingBinarization.</li>
 <li>Tests for verifying functionality of function Operation(SaturatedSubtraction).</li>
 <li>Tests for verifying functionality of function GetRowSums.</li>
 <li>Tests for verifying functionality of function GetColSums.</li>
</ul>
<h5>Changes</h5>
<ul>
 <li>Replace all test declarations to file Test.h.</li>
</ul>

<a href="#HOME">Home</a> 
<hr/> 
<h3 id="R008">August 1, 2013 (version 0.0.8.91)</h3>

<h4>Algorithms</h4>
<h5>New features</h5>
<ul>
 <li>AVX2 optimization of function ReduceGray4x4.</li>
 <li>AVX2 optimization of function ReduceGray5x5.</li>
 <li>AVX2 optimization of function AbsDifferenceSum.</li>
 <li>AVX2 optimization of function AbsGradientSaturatedSum.</li>
 <li>AVX2 optimization of function AbsSecondDerivativeHistogram.</li>
 <li>AVX2 optimization of function BgraToGray.</li>
 <li>AVX2 optimization of function BgrToGray.</li>
 <li>AVX2 optimization of function Binarization.</li>
 <li>AVX2 optimization of function DeinterleaveUv.</li>
 <li>AVX2 optimization of function GaussianBlur3x3.</li>
 <li>AVX2 optimization of function SquaredDifferenceSum.</li>
 <li>AVX2 optimization of function GetStatistic.</li>
 <li>AVX2 optimization of function StretchGray2x2.</li>
 <li>AVX2 optimization of functions Yuv420ToBgra and Yuv444ToBgra.</li>
 <li>AVX2 optimization of functions Yuv420ToHue and Yuv444ToHue.</li>
 <li>AVX2 optimization of function ShiftBilinear.</li>
 <li>AVX2 optimization of function ResizeBilinear.</li>
 <li>Base implementation, SSE2 and AVX2 optimization of function EdgeBackgroundGrowRangeSlow.</li>
 <li>Base implementation, SSE2 and AVX2 optimization of function EdgeBackgroundGrowRangeFast.</li>
 <li>Base implementation, SSE2 and AVX2 optimization of function EdgeBackgroundIncrementCount.</li>
 <li>Base implementation, SSE2 and AVX2 optimization of function EdgeBackgroundAdjustRange.</li>
 <li>Base implementation, SSE2 and AVX2 optimization of function EdgeBackgroundShiftRange.</li>
</ul>
<h5>Changes</h5>
<ul>
 <li>Using function Binarization instead of BinarizationGreaterThen, BinarizationLesserThen and BinarizationEqualTo.</li>
</ul>

<h4>Test framework</h4>
<h5>New features</h5>
<ul>
 <li>Tests for verifying functionality of Sse2 and Avx2 versions of function ReduceGray4x4.</li>
 <li>Tests for verifying functionality of Sse2 and Avx2 versions of function ReduceGray5x5.</li>
 <li>Tests for verifying functionality of Sse2 and Avx2 versions of function AbsDifferenceSum.</li>
 <li>Tests for verifying functionality of Sse2 and Avx2 versions of function AbsGradientSaturatedSum.</li>
 <li>Tests for verifying functionality of Sse2 and Avx2 versions of function AbsSecondDerivativeHistogram.</li>
 <li>Tests for verifying functionality of Sse2 and Avx2 versions of function BgraToGray.</li>
 <li>Tests for verifying functionality of Sse2 and Avx2 versions of function BgrToGray.</li>
 <li>Tests for verifying functionality of function Binarization.</li>
 <li>Tests for verifying functionality of Sse2 and Avx2 versions of function DeinterleaveUv.</li>
 <li>Tests for verifying functionality of Sse2 and Avx2 versions of function GaussianBlur3x3.</li>
 <li>Tests for verifying functionality of Sse2 and Avx2 versions of function SquaredDifferenceSum.</li>
 <li>Tests for verifying functionality of Sse2 and Avx2 versions of function GetStatistic.</li>
 <li>Tests for verifying functionality of Sse2 and Avx2 versions of function StretchGray2x2.</li>
 <li>Tests for verifying functionality of Sse2 and Avx2 versions of functions Yuv420ToBgra and Yuv444ToBgra.</li>
 <li>Tests for verifying functionality of Sse2 and Avx2 versions of functions Yuv420ToHue and Yuv444ToHue.</li>
 <li>Tests for verifying functionality of Sse2 and Avx2 versions of function ShiftBilinear.</li>
 <li>Tests for verifying functionality of Sse2 and Avx2 versions of function ResizeBilinear.</li>
 <li>Tests for verifying functionality of function EdgeBackgroundGrowRangeSlow.</li>
 <li>Tests for verifying functionality of function EdgeBackgroundGrowRangeFast.</li>
 <li>Tests for verifying functionality of function EdgeBackgroundIncrementCount.</li>
 <li>Tests for verifying functionality of function EdgeBackgroundAdjustRange.</li>
 <li>Tests for verifying functionality of function EdgeBackgroundShiftRange.</li>
</ul>

<h4>Infrastructure</h4>
<h5>New features</h5>
<ul>
 <li>Avx file filter.</li>
</ul>
<h5>Removing</h5>
<ul>
 <li>Project files for Visual Studio 2008.</li>
 <li>Project files for Visual Studio 2010.</li>
</ul>

<a href="#HOME">Home</a> 
<hr/> 
<h3 id="R007">July 24, 2013 (version 0.0.7.71)</h3>

<h4>Algorithms</h4>
<h5>New features</h5>
<ul>
 <li>Base implementation, SSE2 and AVX2 optimization of function Operation.</li>
 <li>AVX2 optimization of function MedianFilterSquare3x3.</li>
 <li>AVX2 optimization of function MedianFilterSquare5x5.</li>
 <li>AVX2 optimization of function BackgroundGrowRangeSlow.</li>
 <li>AVX2 optimization of function BackgroundGrowRangeFast.</li>
 <li>AVX2 optimization of function BackgroundIncrementCount.</li>
 <li>AVX2 optimization of function BackgroundAdjustRange.</li>
 <li>AVX2 optimization of function BackgroundShiftRange.</li>
 <li>AVX2 optimization of function BackgroundInitMask.</li>
 <li>AVX2 optimization of function ReduceGray2x2.</li>
 <li>AVX2 optimization of function ReduceGray3x3.</li>
</ul>
<h5>Bug fixing</h5>
<ul>
 <li>Wrong initialization of SSE2 and AVX2 vector constants for GCC.</li>
</ul>
<h5>Changes</h5>
<ul>
 <li>Using function Operation instead of Average.</li>
</ul>

<h4>Test framework</h4>
<h5>New features</h5>
<ul>
 <li>Tests for verifying functionality of function Operation.</li>
 <li>Tests for verifying functionality of Sse2 and Avx2 versions of function MedianFilterSquare3x3.</li>
 <li>Tests for verifying functionality of Sse2 and Avx2 versions of function MedianFilterSquare5x5.</li>
 <li>Optional running of single test.</li>
 <li>Tests for verifying functionality of Sse2 and Avx2 versions of function BackgroundGrowRangeSlow.</li>
 <li>Tests for verifying functionality of Sse2 and Avx2 versions of function BackgroundGrowRangeFast.</li>
 <li>Tests for verifying functionality of Sse2 and Avx2 versions of function BackgroundIncrementCount.</li>
 <li>Tests for verifying functionality of Sse2 and Avx2 versions of function BackgroundAdjustRange.</li>
 <li>Tests for verifying functionality of Sse2 and Avx2 versions of function BackgroundShiftRange.</li>
 <li>Tests for verifying functionality of Sse2 and Avx2 versions of function BackgroundInitMask.</li>
 <li>Tests for verifying functionality of Sse2 and Avx2 versions of function ReduceGray2x2.</li>
 <li>Tests for verifying functionality of Sse2 and Avx2 versions of function ReduceGray3x3.</li>
</ul>

<a href="#HOME">Home</a> 
<hr/> 
<h3 id="R006">June 28, 2013 (version 0.0.6.59)</h3>

<h4>Algorithms</h4>
<h5>New features</h5>
<ul>
 <li>Base implementation and SSE2 optimization of function StretchGray2x2.</li>
 <li>Base implementation and SSE2 optimization of function BackgroundGrowRangeSlow.</li>
 <li>Base implementation and SSE2 optimization of function BackgroundGrowRangeFast.</li>
 <li>Base implementation and SSE2 optimization of function BackgroundIncrementCount.</li>
 <li>Base implementation and SSE2 optimization of function BackgroundAdjustRange.</li>
 <li>Base implementation and SSE2 optimization of function BackgroundShiftRange.</li>
 <li>Base implementation and SSE2 optimization of function BackgroundInitMask.</li>
</ul>

<h4>Test framework</h4>
<h5>New features</h5>
<ul>
 <li>Tests for verifying functionality of function StretchGray2x2.</li>
 <li>Tests for verifying functionality of function BackgroundGrowRangeSlow.</li>
 <li>Tests for verifying functionality of function BackgroundGrowRangeFast.</li>
 <li>Tests for verifying functionality of function BackgroundIncrementCount.</li>
 <li>Tests for verifying functionality of function BackgroundAdjustRange.</li>
 <li>Tests for verifying functionality of function BackgroundShiftRange.</li>
 <li>Tests for verifying functionality of function BackgroundInitMask.</li>
</ul>

<a href="#HOME">Home</a> 
<hr/> 
<h3 id="R005">May 8, 2013 (version 0.0.5.50)</h3>

<h4>Algorithms</h4>
<h5>New features</h5>
<ul>
 <li>Base implementation and SSE2 optimization of function GreaterThenBinarization.</li>
 <li>Base implementation and SSE2 optimization of function LesserThenBinarization.</li>
 <li>Base implementation and SSE2 optimization of function EqialToBinarization.</li>
 <li>Base implementation and SSE2 optimization of function AbsGradientSaturatedSum.</li>
 <li>Base implementation and SSE2 optimization of function ShiftBilinear.</li>
 <li>Base implementation and SSE2 optimization of function GetStatistic.</li>
</ul>
<h5>Bug fixing</h5>
<ul>
 <li>Wrong initialization of SSE2 and AVX2 vector constants for GCC.</li>
</ul>

<h4>Test framework</h4>
<h5>New features</h5>
<ul>
 <li>Tests for verifying functionality of function GreaterThenBinarization.</li>
 <li>Tests for verifying functionality of function LesserThenBinarization.</li>
 <li>Tests for verifying functionality of function EqualToBinarization.</li>
 <li>Tests for verifying functionality of function AbsGradientSaturatedSum.</li>
 <li>Tests for verifying functionality of function ShiftBilinear.</li>
 <li>Tests for verifying functionality of function GetStatistic.</li>
</ul>
<h5>Bug fixing</h5>
<ul>
 <li>Wrong time measurement for GCC.</li>
</ul>

<a href="#HOME">Home</a> 
<hr/> 
<h3 id="R004">April 12, 2013 (version 0.0.4.41)</h3>

<h4>Algorithms</h4>
<h5>New features</h5>
<ul>
 <li>Loading, storing and initialization of AVX2 vectors.</li>
 <li>AVX2 optimization of function Average.</li>
 <li>Base implementation and SSE2 optimization of function AbsSecondDerivativeHistogram.</li>
</ul>
<h5>Bug fixing</h5>
<ul>
 <li>Function ExtractInt64 is not work correctly for Visual Studio 2008 (x64/Release).</li>
 <li>Function ResizeBilinear (with View arguments) is not work correctly.</li>
 <li>Function Allocate in GCC version is not work with align less than sizeof(void*).</li>
</ul>
<h5>Changes</h5>
<ul>
 <li>Memory allocation for GCC.</li>
 <li>Initialization of vector constants for GCC.</li>
 <li>Renaming of "set2" functions.</li>
 <li>Added arbitrary index of mask for functions AbsDifferenceSum and SquareDifferenceSum.</li>
</ul>

<h4>Test framework</h4>
<h5>New features</h5>
<ul>
 <li>Tests for direct verifying functionality of functions Sse2::Average and Avx2::Average.</li>
 <li>Tests for verifying functionality of function AbsSecondDerivativeHistogram.</li>
</ul>
<h5>Bug fixing</h5>
<ul>
 <li>Compile errors for GCC.</li>
</ul>
<h5>Changes</h5>
<ul>
 <li>Update tests for arbitrary index of mask for functions AbsDifferenceSum and SquareDifferenceSum.</li>
</ul>

<h4>Infrastructure</h4>
<h5>New features</h5>
<ul>
 <li>Project files for Code::Blocks.</li>
</ul>

<a href="#HOME">Home</a> 
<hr/> 
<h3 id="R003">March 15, 2013 (version 0.0.3.28)</h3>

<h4>Algorithms</h4>
<h5>New features</h5>
<ul>
 <li>Base implementation and SSE2 optimization of function DeinterleaveUv.</li>
 <li>Supporting of image format Uv16 (UV-plane of NV12).</li>
 <li>Base implementation and SSE2 optimization of function GaussianBlur3x3.</li>
 <li>Base implementation and SSE2 optimization of function AbsDifferenceSum.</li>
 <li>Base implementation and SSE2 optimization of function Average.</li>
 <li>Template version of functions Swap, Square, Min, Max and RestrictRange.</li>
</ul>
<h5>Bug fixing</h5>
<ul>
 <li>Wrong memory align in the internal buffer of function Sse2::ResizeBilinear.</li>
 <li>Unnecessary parentheses in GCC version of function Cpuid::CheckBit.</li>
</ul>

<h4>Test framework</h4>
<h5>New features</h5>
<ul>
 <li>Tests for verifying functionality of function ResizeBilinear.</li>
 <li>Tests for verifying functionality of function DeinterleaveUv.</li>
 <li>Additional tests for images in format Uv16 (UV-plane of NV12).</li>
 <li>Tests for verifying functionality of function GaussianBlur3x3.</li>
 <li>Tests for verifying functionality of function AbsDifferenceSum.</li>
 <li>Tests for verifying functionality of function Average.</li>
</ul>

<h4>Infrastructure</h4>
<h5>New features</h5>
<ul>
 <li>File with release notes (this file).</li>
</ul>
<h5>Changes</h5>
<ul>
 <li>System of version numbering of the library.</li>
</ul>

<a href="#HOME">Home</a> 
<hr/> 
<h3 id="R002">February 13, 2013 (version 0.0.2.18)</h3>

<h4>Algorithms</h4>
<h5>New features</h5>
<ul>
 <li>SSE2 optimization of functions Yuv420ToBgra and Yuv444ToBgra.</li>
 <li>Checking of supporting AVX and AVX2 extensions by OS and CPU.</li>
 <li>Base implementation and SSE2 optimization of function MedianFilterSquare3x3.</li>
 <li>Base implementation and SSE2 optimization of function MedianFilterSquare5x5.</li>
 <li>Structure View for storing of images (moved from Test project). View-specific functions for all algoritms.</li>
 <li>Function Copy (moved from Test project).</li>
 <li>Parameter alpha (transparence) to function BgrToBgra.</li>
 <li>Base implementation and SSE2 optimization of function SquaredDifferenceSum.</li>
 <li>Library version (automatically generated from SVN revision).</li>
</ul>
<h5>Changes</h5>
<ul>
 <li>Allocation of temporary buffers on stack was removed.</li>
 <li>The using of pointers to functions was terminated.</li>
 <li>Function SquaredDifferenceSum32 was removed.</li>
</ul>
<h5>Bug fixing</h5>
<ul>
 <li>The bug in the base implementation of function Yuv420ToHue.</li>
</ul>

<h4>Test framework</h4>
<h5>New features</h5>
<ul>
 <li>Tests for verifying functionality of functions Yuv420ToHue and Yuv444ToHue.</li>
 <li>Tests for verifying functionality of functions Yuv420ToBgra and Yuv444ToBgra.</li>
 <li>Tests for verifying functionality of functions MedianFilterSquare3x3 and MedianFilterSquare5x5.</li>
 <li>Special macro for performance testing.</li>
 <li>Tests for verifying functionality of function SquaredDifferenceSum.</li>
</ul>
<h5>Changes</h5>
<ul>
 <li>Structure View and function Copy were moved to Simd project.</li>
</ul>

<h4>Infrastructure</h4>
<h5>New features</h5>
<ul>
 <li>Project files for Visual Studio 2010.</li>
 <li>Project files for Visual Studio 2012.</li>
 <li>Supporting of x64 platform.</li>
 <li>File filters in Simd and Test projects.</li>
 <li>A script for generation of library version from SVN revision.</li>
 <li>A script for building of library release archive.</li>
</ul>

<a href="#HOME">Home</a> 
<hr/> 
<h3 id="R001">February 1, 2013 (version 0.0.1.3)</h3>

<h4>Algorithms</h4>
<h5>New features</h5>
<ul>
 <li>Base implementation of functions Yuv420ToHue and Yuv444ToHue.</li>
 <li>Base implementation of functions Yuv420ToBgra and Yuv444ToBgra.</li>
 <li>Base implementation of functions Yuv420ToBgr and Yuv444ToBgr.</li>
 <li>Base implementation and SSE2 optimization (for aligned case) of function SquaredDifferenceSum32.</li>
 <li>Base implementation and SSE2 optimization (for gray images) of function ResizeBilinear.</li>
 <li>Base implementation and SSE2 optimization of functions ReduceGray2x2, ReduceGray3x3, ReduceGray4x4 and ReduceGray5x5.</li>
 <li>Checking of supporting SSE2 and SSE4.2 extensions by OS and CPU.</li>
 <li>Base implementation and SSE4.2 optimization of function Crc32.</li>
 <li>Base implementation and SSE2 optimization of function BgrToGray.</li>
 <li>Base implementation of function BgrToBgra.</li>
 <li>Base implementation and SSE2 optimization of function BgraToGray.</li>
 <li>Base implementation of function BgraToBgr.</li>
</ul>

<h4>Test framework</h4>
<h5>New features</h5>
<ul>
 <li>Structure View for storing of images.</li>
 <li>Class Performance for testing of algorithm performance.</li>
 <li>Utilities for initialization and for comparison of images.</li>
 <li>Tests for verifying functionality of function BgrToGray.</li>
 <li>Tests for verifying functionality of function BgraToGray.</li>
 <li>Tests for verifying functionality of function Crc32.</li>
 <li>Tests for verifying functionality of functions ReduceGray2x2, ReduceGray3x3, ReduceGray4x4 and ReduceGray5x5.</li>
</ul>

<h4>Infrastructure</h4>
<h5>New features</h5>
<ul>
 <li>Project files for Visual Studio 2008.</li>
</ul>

<a href="#HOME">Home</a> 
<hr/>

<center>
 <a href="2020.html">2020</a> |
 <a href="2019.html">2019</a> |
 <a href="2018.html">2018</a> |
 <a href="2017.html">2017</a> |
 <a href="2016.html">2016</a> | 
 <a href="2015.html">2015</a> |
 <a href="2014.html">2014</a> |
 <a href="2013.html">2013</a>
</center>

<hr/>

</td> </tr> </table> </center> </body> </html>
